package com.caishi.lkx.exam.vo;

import com.caishi.lkx.exam.model.ExamQuestionRank;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import java.util.List;

@Getter
@Setter
@Schema(title = "首页行业数据")
public class IndexIndustryData {

    private String industryId;

    private String name;

    @Schema(title = "行业考试")
    private List<Exam> exams;

    @Schema(title = "图标")
    private String icon;

    @Getter
    @Setter
    public static class Exam {

        private String id;

        @Schema(title = "行业id")
        private String industryId;

        @Schema(title = "考试名称")
        private String name;

        @Schema(title = "考试属性 0x01 热门考试 0x02 推荐考试 0x04 最新考试")
        private Integer attribute;

        @Schema(title = "考试图标")
        private String icon;


        @Schema(title = "日历")
        private IndexExamCalendarVo examCalendar;


        @Schema(title = "热门试题")
        private List<ExamQuestionRank.ExamQuestionRankBaseModel> hot;

        @Schema(title = "易错排行")
        private List<ExamQuestionRank.ExamQuestionRankBaseModel> errorRank;

        @Schema(title = "收藏排行")
        private List<ExamQuestionRank.ExamQuestionRankBaseModel> collectRank;

        @Schema(title = "热门资讯")
        private List<SimpleMaterialInfoVo> hotArticle;

        @Schema(title = "免费资料")
        private List<SimpleMaterialInfoVo> freeData;

    }

    @Getter
    @Setter
    public static class SimpleMaterialInfoVo {

        private String id;

        @Schema(title = "标题")
        private String title;

        @Schema(title = "别名")
        private String alias;

        @Schema(title = "是否置顶")
        private Boolean top;

        @Schema(title = "是否热门")
        private Boolean hot;

        @Schema(title = "类型，false.考试资讯，true.考试资料")
        private Boolean type;

        @Schema(title = "封面")
        private String cover;

        @Schema(title = "附件下载次数")
        private Integer downloadTime;

        @Schema(title = "资源大小")
        private Integer attachmentSize;

    }


}
